from src.content_processor.semantic_splitter import SemanticSplitter
from src.content_processor.qa_generator import QAGenerator
from typing import List, Dict

class ContentProcessor:
    """内容处理器封装类"""
    
    def __init__(self, config: dict):
        """初始化配置"""
        self.config = config
        self.splitter = SemanticSplitter(config)
        self.qa_generator = QAGenerator(config)
        
    def generate_qa_pairs(self, content: str, source_name: str) -> List[Dict]:
        """生成问答对
        
        Args:
            content: markdown格式的文档内容
            source_name: 文档来源名称
        Returns:
            问答对列表
        """
        try:
            # 直接调用QAGenerator的generate方法
            qa_pairs = self.qa_generator.generate(content)
            
            if not qa_pairs:
                print(f"警告: {source_name} 未生成任何问答对")
                return []
                
            print(f"成功为 {source_name} 生成 {len(qa_pairs)} 个问答对")
            return qa_pairs
            
        except Exception as e:
            print(f"生成问答对时出错: {str(e)}")
            return [] 